#ifndef VERTEXBUFFERBINDING_H
#define VERTEXBUFFERBINDING_H

#include "Framework/Prerequisites.h"
#include "Graphics/IDeviceBufferManager.h"

namespace tyro
{
	namespace Graphics
	{
		class VertexBufferBinding
		{
		public:
			
			typedef map<USHORT_16, IDeviceVertexBufferSharedPtr>::type VertexBufferBindingMap;

			VertexBufferBinding();
			virtual void SetBinding(USHORT_16 index, const IDeviceVertexBufferSharedPtr& buffer);
			virtual size_t GetBufferCount(void) const;
			virtual bool IsBufferBound( UINT_32 index ) const;
			virtual const Graphics::IDeviceVertexBufferSharedPtr& GetBuffer( USHORT_16 index ) const;


		protected:

			VertexBufferBindingMap	bindingMap;
			mutable USHORT_16		highIndex;
		private:


			

		};
	}
}

#endif